﻿@model CEIT.MVC3.Web.Controllers.ViewModels.PagamentoViewModel
@{
    ViewBag.Title = "Pagamento de Conta";
    Layout = "~/Views/Shared/_LayoutLogado.cshtml";
}
@using (Html.BeginForm())
{
    @Html.ValidationSummary(true, "Atenção")
    @Html.HiddenFor(model => model.Pagamento.Id)
    <center>
        <fieldset id="pagamento" class="align-column two">
            <legend>Pagamento</legend>
            @if (Model.DtRetroativa.HasValue)
            {
                <div class="data-retroativa">
                    @Html.LabelFor(model => model.DtRetroativa)
                    @Html.DisplayFor(model => model.DtRetroativa.Value)
                </div>
            }
            <div class="align-column two">
                <div class="editor-label">
                    @Html.LabelFor(model => model.Pagamento.Despesa.NmDespesa)
                </div>
                <div class="editor-field">
                    @Html.DropDownListFor(model => model.Pagamento.Despesa.Id, (IEnumerable<SelectListItem>)ViewBag.Despesa, "Selecione", null)
                </div>
            </div>
            <div id="pagamentoConta">
                @Html.Partial("_PagamentoConta", Model)
            </div>
        </fieldset>
        @Html.Partial("_DespesaPagamentoConta", Model)
        <p style="clear: both; padding-top: 15px;">
            <input id="submit" type="submit" value="Lançar Pagamento" class="btn-gold" />
            <span>&nbsp;</span> <a onclick="javascritp:window.history.back(1);" class="btn-gold">
                Voltar</a>
        </p>
    </center>
}
<div>
</div>
@section Style {
    <style type="text/css">
        .item-despesa { display: list-item; font-size: 12px; font-family: arial; text-indent: 10px; margin-left: 35px; padding: 0 0 3px 0; }
        #detalhe-pagamento-despesa { width: 98%; margin: 2% 0 2% 0; }
    </style>
}
@section Script{
    <script type="text/javascript">

        DespesaLoad();

        $("form").submit(function () {
            $("input").removeAttr('disabled');
        });

        $("#Pagamento_Despesa_Id").blur(function () {
            DespesaLoad();
        });

        $("#isLancamentoDiferente").click(function () {
            LancamentoDiferenciado();
        });

        $("#NovaDespesa_VlTotal").blur(function () {
            ModalidadePagamento();
        });

        $("#NovaDespesa_EnumModalidadePagamento").blur(function () {
            ModalidadePagamento();
        });

        $("#NovaDespesa_NuParcelas").blur(function () {
            ModalidadePagamento();
        });

        $("#NovaDespesa_VlParcela").blur(function () {
            ModalidadePagamento();
        });


        function DespesaLoad() {
            var detalhe = 'none';
            var bloqueioLancamento = false;
            var despesa = $("#Pagamento_Despesa_Id").val();
            var nova = 'none';
            var pagamentoConta = '';
            var submit = '';

            if (despesa == "0") {
                nova = '';
                ModalidadePagamento();
            }
            else {
                bloqueioLancamento = false;
                if (despesa == '') {
                    pagamentoConta = 'none';
                    submit = 'none';
                }
                else {
                    detalhe = '';
                    $("#pagamentoConta").load('@Url.Action("LoadPagamento")' + '?' + $("form").serialize());
                }
            }

            $("#pagamentoConta").css('display', pagamentoConta);
            $("#nova-despesa").css('display', nova);
            $("#detalhe-pagamento-despesa").css('display', detalhe);
            $("#submit").css('display', submit);

        }

        function ModalidadePagamento() {
            var valorParcela = MoneyToFloat($("#NovaDespesa_VlParcela").val());
            var valorLancamento = MoneyToFloat($("#Pagamento_VlLancamento").val());
            var valotTotal = MoneyToFloat($("#NovaDespesa_VlTotal").val());
            var NuParcelas = getNum($("#NovaDespesa_NuParcelas").val());
            var isDiferente = false;
            var bloqueioTotal = false;
            var bloqueioLancamento = false;
            var vlparcela = 'none';
            var totalDisplay = 'none';
            var nparcelas = 'none';
            var diferenciado = 'none';
            var encerrado = '';

            if ($("#Pagamento_Despesa_Id").val() == "0") {
                var modalidade = $("#NovaDespesa_EnumModalidadePagamento").val();
                if (modalidade == '')
                    encerrado = 'none';
                if (modalidade == 'ParcelaUnica') {
                    valorLancamento = valotTotal;
                    bloqueioLancamento = true;
                    totalDisplay = '';
                    diferenciado = '';
                    encerrado = 'none';
                }
                if (modalidade == 'ParcelaFixa') {

                    if (valorParcela != 0 && NuParcelas != 0)
                        valotTotal = parseFloat(valorParcela * parseInt(NuParcelas));
                    else
                        valotTotal = valorParcela;
                    valorLancamento = valorParcela;
                    bloqueioTotal = true;
                    bloqueioLancamento = true;

                    totalDisplay = '';
                    vlparcela = '';
                    nparcelas = '';
                    diferenciado = '';
                }
                if (modalidade == 'ParcelaVariavel') {
                    totalDisplay = '';
                }
            }

            $("#diferenciado").css('display', diferenciado);
            $("#encerrado").css('display', encerrado);
            $("#despesa-total").css('display', totalDisplay);
            $("#despesa-vlparcela").css('display', vlparcela);
            $("#despesa-nparcelas").css('display', nparcelas);
            $("#Pagamento_VlLancamento").val(parseMoney(valorLancamento));
            $("#NovaDespesa_VlTotal").val(parseMoney(valotTotal));
            $("#isLancamentoDiferente").attr('checked', false);

            if (bloqueioTotal)
                $("#NovaDespesa_VlTotal").attr('disabled', 'disabled');
            else
                $("#NovaDespesa_VlTotal").removeAttr('disabled');
            if (bloqueioLancamento)
                $("#Pagamento_VlLancamento").attr('disabled', 'disabled');
            else
                $("#Pagamento_VlLancamento").removeAttr('disabled');

        }

        function LancamentoAutomatico() {
            var valor = $("#Pagamento_VlLancamento").val();
            if ($("#Pagamento_Despesa_Id").val() == "0") {
                var modalidade = $("#NovaDespesa_EnumModalidadePagamento").val();
                if (modalidade == 'ParcelaUnica') {
                    valor = $("#NovaDespesa_VlTotal").val();
                }
                if (modalidade == 'ParcelaFixa') {
                    valor = $("#NovaDespesa_VlParcela").val();
                }
            }
            $("#Pagamento_VlLancamento").val(valor);
        }

        var LancamentoNaoDiferenciado = 0;
        function LancamentoDiferenciado() {
            if ($("#isLancamentoDiferente:checked").length == 0) {
                $("#Pagamento_VlLancamento").attr('disabled', 'disabled');
                $("#Pagamento_VlLancamento").val(LancamentoNaoDiferenciado);
            }
            else {
                $("#Pagamento_VlLancamento").removeAttr('disabled');
                LancamentoNaoDiferenciado = $("#Pagamento_VlLancamento").val();
            }
        }
    </script>
}
